home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The 640 MEG Shareware Studio 2
/
The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO
/
mail
/
1st_101b.zip
/
ADVANCED.DOC
< prev
next >
Wrap
Text File
|
1992-09-28
|
118KB
|
3,186 lines
┌──────────────────────────────────────────────────────────────────┐
│ │
│ │
│ ┌────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ ▄██ │ │
│ │ ██ ▄▄▄▄▄▄ ▄▄▄▄▄▄ │ │
│ │ ██ ██▀▀▀▀ ▀▀██▀▀ │ │
│ │ ██ ▀▀▀▀██ ██ │ │
│ │ ██ ██████ ██ │ │
│ │ │ │
│ │ 1stReader │ │
│ │ The Advanced User's Guide │ │
│ │ │ │
│ │ │ │
│ │ Entire work │ │
│ │ Copyright 1992 by Mark Herring │ │
│ │ All Rights Reserved │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ Sparkware │ │
│ │ Post Office Box 386 │ │
│ │ Hendersonville, Tennessee 37077 │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ └────────────────────────────────────────────────────┘ │
│ │
│ │
└──────────────────────────────────────────────────────────────────┘
NOTICE
EXCEPT FOR THE EXPRESS WARRANTY SET FORTH ABOVE, SPARKWARE
GRANTS NO OTHER WARRANTIES, EXPRESSED OR IMPLIED, BY STATUE
OR OTHERWISE, REGARDING THE DISK, PROGRAMS AND RELATED
MATERIALS, THEIR FITNESS FOR ANY PURPOSE, THEIR QUALITY,
THEIR MERCHANTABILITY, OR OTHERWISE.
THE LIABILITY OF SPARKWARE UNDER THE WARRANTY SET FORTH
ABOVE SHALL BE LIMITED TO THE AMOUNT PAID BY THE CUSTOMER
FOR THE PRODUCT. IN NO EVENT SHALL SPARKWARE BE LIABLE FOR
ANY SPECIAL, CONSEQUENTIAL, OR OTHER DAMAGES FOR BREACH OF
WARRANTY.
SPARKWARE RESERVES THE RIGHT TO MAKE ANY CHANGES TO THESE
PROGRAMS, DOCUMENTATION AND CUSTOMER SUPPORT PLANS AT ANY
TIME WITHOUT PRIOR NOTICE.
THIS SOFTWARE PROGRAM IS A PROPRIETY PRODUCT OF SPARKWARE
AND IS PROTECTED BY COPYRIGHTS AND INTERNATIONAL TREATIES.
YOU MUST TREAT THIS SOFTWARE LIKE ANY OTHER COPYRIGHTED
MATERIAL, EXCEPT THAT YOU MAY MAKE AN ARCHIVAL COPY OF THE
SOFTWARE FOR EACH COPY THAT IS LICENSED TO YOU. YOU MAY
DISTRIBUTE THE SOFTWARE TO OTHERS SO LONG AS (A) THE
1ST.KEY OR QMAIL4.KEY FILE IS NOT DISTRIBUTED, (B) THE
SOFTWARE IS DISTRIBUTED UNMODIFIED. YOU MAY NOT DECOMPILE,
DISASSEMBLE, REVERSE ENGINEER, COPY, TRANSFER, OR OTHERWISE
USE OR MODIFY THIS SOFTWARE EXCEPT AS STATED HEREIN.
SPARKWARE GRANTS YOU THE RIGHT TO USE THIS SOFTWARE FOR
TRIAL PERIOD NOT TO EXCEED THIRTY (30) DAYS. USE AFTER
THIRTY DAYS REQUIRES REGISTRATION AS DOCUMENTED IN THIS
MANUAL.
Qmail 1stReader
Entire work Copyright 1992 by Mark Herring
All Rights Reserved
Sparkware
Post Office Box 386
Hendersonville, Tennessee 37077-0386
(615) 230-8822 (BBS)
(615) 230-MAIL (Office)
10am-5pm CT weekdays
PCBoard is a trademark of Clark Development Company
TABLE OF CONTENTS
Introduction..................................... 1
DOS command line switches........................ 1
/4DOS.......................................... 1
/CALL:......................................... 2
/FIFO:......................................... 2
/MAXLINES:..................................... 2
/NON........................................... 2
/QWK:.......................................... 3
/REP:.......................................... 3
/SETUP:........................................ 3
/TIME:......................................... 3
/XON........................................... 3
Support files.................................... 4
.BAT (or .BTM) files........................... 5
$$MAIL.BAT.................................. 5
$$REPLY.BAT................................. 5
$$CALL.BAT.................................. 6
$$1ST.BAT................................... 6
$$xxx.BAT................................... 6
GO.BAT...................................... 7
$$INTRO.BAT................................. 7
$$REPLIES.BAT............................... 8
$$FILER.BAT................................. 8
$$EXIT.BAT.................................. 8
$$SPELL.BAT................................. 9
$$CNAMES.BAT................................ 9
$$Fxx.BAT................................... 9
.CMD files.....................................10
$$1ST.CMD...................................10
$$ppff.CMD..................................10
Multiple EDITORS and LIST programs..........11
SHELL modifiers................................12
/API: <filespec>............................12
/CLS and /NOCLS.............................12
/EXPORT: <filespec>.........................13
/IN: <filespec1> /OUT: <filespec2>.........13
/NS and /SS.................................14
/PAUSE......................................14
KEYBOARD.$$$................................14
MESSAGE.$$$.................................15
.LST (Picklist) files..........................16
.DOS files.....................................17
The 1stReader Applications Program Interface.....18
1stReader Integer API table...................18
1stReader Long Integer API Table..............21
1stReader Text API Table......................22
Online help reference.........................24
@variables supported by 1stReader.............26
1stReader script language........................28
ABORT <value>.................................28
API <value>...................................28
AUTOEXIT <on|off>.............................28
CAPTURE <on|off>..............................28
CLS...........................................29
COMMENT "string"..............................29
COUNT <qwk|rep>...............................29
DEBUG.........................................29
EDIT <filespec>...............................29
EXIT..........................................29
FOUND=<value>.................................29
GOSUB <label>.................................30
GOTO <label>..................................30
HANGUP........................................30
HELP <number>.................................30
IF............................................30
KEYSTROKE=<value>.............................31
KILL <filespec>...............................31
LIST <filespec>...............................31
LOCKLINE <row> <attribute>....................31
LOOKFOR "prompt string" "transmit string".....31
PAUSE [seconds]...............................32
PLAY "string".................................32
REPLIES.......................................32
RETURN [label]................................32
RUN <script filespec> [label].................32
SHOW <filespec>...............................32
SWITCH <value>................................33
TERMINAL......................................33
TRANSMIT "string".............................33
TRANSMIT; "string"............................33
TIMEOUT <seconds>.............................34
UPLOAD <filespec>.............................34
WAITFOR "prompt string" [seconds].............34
WEEKDAY.......................................34
Special @variables............................35
Special characters............................36
Hints and Tips...................................37
Support for .BIN and .B1N files...............37
The WELCOME file..............................37
Using KEYBOARD.$$$ from the internal editor...38
Pre-Print and Post-Print strings..............38
Printer definition............................38
Create your OWN help files....................38
1stReader is network ready....................39
GO.ASC, GO.ANS, GO.BIN, GO.B1N................40
Automatic DOORWAY ON and DOORWAY OFF modes....40
"Header" files................................41
Auto sensing dialog boxes.....................41
"Ok" and "Cancel" buttons.....................41
Attention John Hancock fans!..................42
Conference .BAT, .BTM, .CMD and .LST files....42
Support for DOOR.ID...........................42
Downloading files.............................43
Longer signatures.............................43
Multiple signatures...........................43
Support for the "1ST" file....................44
Automatic SuperShell..........................44
Nonstandard serial ports......................44
New commands supported in DOOR.ID.............45
LIST is restricted............................45
Robocomm-named packets supported..............45
QMAIL4 is assumed.............................45
Three button mice users.......................45
Using SPACE BAR and SHIFT+ENTER...............46
Protect those 'questionable' taglines.........46
'Hotkey' your .CMD and .LST entries...........46
Entry fields are accessable...................46
Sysop can use Qmail Door in DOS using 1st.....47
Control characters in .LST files..............47
$$DIAL.SCR supported..........................48
Additional systems supported..................48
Carriage returns in the modem init string.....49
SERVICES.NEW..................................49
File formats..................................50
Introduction
------------
This advanced user's guide is designed to help "advanced"
users of 1stReader access all of the features found in the
1stReader offline mail system.
If you are a new to the concept of offline mail reader
systems, we STRONGLY recommend that you do NOT use this guide
until you are familiar with 1stReader.
Ok, with that out of the way we've established that you are
a "power user". Computer screens dim when you walk into the
room. You can quote passages from the DSZ manual from
memory. Nothing is beyond you or your capabilities.
1stReader was designed with the novice user in mind, but
don't worry, we've left plenty of "features" for you use
inside the system. The design philosophy behind 1stReader
was to provide an interface for novice users that they can
easily understand and use. The "power user" features are
hidden underneath this interface, and you have the ability to
access them.
Remember, You do NOT need to use this guide in order to fully
use 1stReader. However, you can change the way 1stReader
operates and functions by following this tips in this guide.
DOS command line switches
-------------------------
1stReader support a number of DOS command line startup
switches. These switches, when placed after the DOS command
"1ST.EXE", allow you to change how 1stReader works.
/4DOS Forces 1stReader to change all .BAT file
extensions used in the program to .BTM files
(BaTch in Memory). If you are not using
4DOS's .BTM files you can ignore this switch.
Example: 1ST /4DOS
1
/CALL: Causes 1stReader to begin calling a list of
systems automatically from the command prompt.
You must add the QWK-ID name of each system
you wish to call. This is switch lets you
call bulletin board systems from a batch file.
Example: 1ST /CALL: SPARKY SALTAIR ELLTECH
/FIFO: 1stReader checks to see if you have a 16550A
UART in your system. If found then 1st will
set the UART buffer size to 8 bytes. You can
over-ride this buffer size by using the /FIFO
switch. Accepted values are 1,4,8 and 14.
Example: 1ST /FIFO: 14
/MAXLINES: The internal editor in 1stReader lets you
create replies of up to 200 lines each. If
you decide to use an external editor then the
size of your replies can be as large as you
wish.
1stReader breaks your replies at 99 lines per
message. However, you can adjust the size of
the reply by using the /MAXLINES: switch. The
command "1ST /MAXLINES: 200" would cause
1stReader to "break" long replies at 200 lines
each.
/NON 1stReader uses "RTS" checking to determine
when your modem is ready to send characters to
the remote system. You can disable ALL
checking by using the /NON switch.
Example: 1ST /NON
2
/QWK: Since 1stReader is designed to work with "QWK"
formatted mail packets, by default it looks
for mail packets using the "Q*" file
extension. You can override this extension by
using the /QWK command line switch.
Why would you want to change the extension?
Later in this guide we cover two batch files
named "$$INTRO.BAT" and "$$EXIT.BAT".
Programmers can use these files to write
programs that "convert" other non-QWK
formatted mail packets to and from the QWK
format. The /QWK command switch lets them
tell 1stReader which type of mail packet to
scan for in the list of packets on file
screen.
Example: 1ST /QWK: OPX
/REP: The /REP command line switch works like the
/QWK switch, except that it lets you change
the default extension for mail reply packets.
".REP" is the extension used for QWK mail
packets, but by using this switch you can
change the extension to any value required.
Example: 1ST /REP: TMP
/SETUP: This command line switch lets you specify the
name of the .SET file to load when starting
1stReader.
Example: 1ST /SETUP: NETWORK.SET
/TIME: The /TIME command line switch works with the
/CALL switch so you can set the time you wish
to start calling the systems. Remember, you
MUST use "military" time if you wish to call
systems after 12:59 pm.
Example: 1ST /CALL: SPARKY /TIME: 20:00
/XON This command line switch works like the /NON
switch, except that instead of turning off all
forms of line checking, it forces 1stReader to
use "XON/XOFF" checking.
3
Support files
-------------
There are a files you can place in your 1stReader system
directory that can help you change 1stReader's operation.
Before we continue, we need to explain the file directory
structure used by 1stReader. You can, of course, change this
layout in the "Setup" section of the system, but by default
this tree is used:
C:\1ST System subdirectory
C:\1ST\SCRIPTS Script files subdirectory
C:\1ST\PACKETS Mail packets location
C:\1ST\FILES Files you download go here
C:\1ST\PROGRAMS Programs area
C:\1ST\FOLDERS Folders area
C:\1ST\WORK Temp mail work area
C:\1ST\REP-WORK Temp reply work area
C:\1ST\SERVICES Temp services work area
C:\1ST\BBS\<QWK-ID> "BBS" subdirectory
The two locations we are concerned about right now are the
"System subdirectory" (we'll call it SYSTEM) and the "BBS"
subdirectory (we'll call it BBS). The "BBS" subdirectories
are created underneath the "C:\1ST\BBS\" area. Each system
you call has a unique BBS subdirectory underneath this area.
It is here that all bulletins, archived file lists, script
files and other such items are stored for each system you
call. So, when we refer to the BBS subdirectory, we are
actually referring to the unique subdirectory for a
particular system, not "C:\1ST\BBS\" itself.
The files described below can be located in either the SYSTEM
subdirectory or in the BBS subdirectory. 1stReader will
always look in the BBS subdirectory for the file first. If
the file is not found then the SYSTEM subdirectory is
checked. The major exception to this rule is the 1stReader
"Opening screen". Since you have not selected a bulletin
board system when you are at this screen then 1st only checks
the SYSTEM area.
If the file is found in the BBS subdirectory then that file
will only work when you have selected that system from the
opening menu. Otherwise, if the file is not found in the BBS
subdirectory but found in the SYSTEM subdirectory it will
work for ALL systems.
There four different types of support files. They are .BAT,
.CMD, .LST and .DOS files.
4
.BAT (or .BTM) files
--------------------
You can "by pass" the built-in features found in 1stReader
with your own favorites if you wish. Of course, you can use
your own internal file LIST or EDITOR program by entering
their DOS commands in Setup's "EDITOR" section. But you can
replace many of the internal systems found in 1stReader by
using batch files.
1stReader will follow the normal BBS/SYSTEM search method to
locate these files unless specifically mentioned in the
descriptions. Also, if you are using the /4DOS command line
switch then 1stReader will look for .BTMs instead.
$$MAIL.BAT
----------
If you wish to use your favorite telecommunications software
to call the remote bulletin board system you can replace the
internal module in 1stReader by creating a $$MAIL.BAT file.
This file passes along to the application the QWK-ID of the
system you have selected in the '%1' parameter in the batch
file.
There are two communication systems that are designed to
transfer mail packets to and from Qmail Door and compatible
systems. These two systems are ICOM from Liberation
Enterprises and ROBOCOMM from Parsons Technologies. If you
wish to use either of these systems with 1stReader you need
to create a $$MAIL.BAT file that will CHDIR into the proper
subdirectory and then execute the program.
For ICOM use the command: ICOM /RUN:%1
For ROBOCOMM use the command: ROBOCOMM /A%1 /R
The QWK-ID for the system is passed in the '%1' parameter so
you need to make sure you have a "job" (for ICOM) or an
'agenda' (for ROBOCOMM) prepared to call the system.
$$REPLY.BAT
-----------
This batch file works just like $$MAIL.BAT except that it is
used if you wish to transmit replies back to the bulletin
board system without picking up new mail. If this batch file
is found and you have selected the "Mail" button from the
mail packets screen, and you also have replies on file, you
will be asked if you wish to only transmit replies to the
system.
5
$$CALL.BAT
----------
This batch file works just like $$MAIL.BAT except that it is
used to call the bulletin board and place the user in an
interactive terminal mode. You can interface 1stReader with
your favorite terminal program (ProComm, Telix, etc) by using
this batch file.
$$1ST.BAT
---------
1stReader will search for this batch file if you press the
[F6] key on your keyboard. If the batch file is found then
1stReader will execute the batch file. The QWK-ID of the
current system is passed along as the '%1' parameter.
You can create $$1ST.BAT by pressing ALT+F6 while you are at
the "opening menu" screen. If you press ALT+F6 while at a
keyboard entry field you can create custom $$ppff.BAT files
that execute only when you are in that particular entry field
AND you press [F6].
$$xxx.BAT
---------
This batch file works with the internal file manager. The
"xxx" represents a file extension (ZIP, GIF, FAX, WAV, etc).
When you select a file from the file manager 1stReader will
take the extension of the file and search for a $$xxx.BAT
file. If one is found then control is passed to the batch
file with the full name of the file passed as the '%1'
parameter.
This file lets you add support for viewing GIF files from
within 1stReader or even transmitting FAX files by simply
selecting them. For example, you could create a batch file
named $$GIF.BAT:
@ECHO OFF
VIEW %1
This batch assumes you have a program named "VIEW" that lets
you display .GIF files. If you select a .GIF file from the
file manager then you will see the file on your screen.
6
GO.BAT
------
1stReader looks for GO.BAT in the current subdirectory from
within the file manager. If GO.BAT is found then the "GO"
button is automatically highlighted by 1stReader.
The GO.BAT file is designed to be included inside archived
files. 1stReader lets a user unpack archives into the
"PROGRAMS" subdirectory. If GO.BAT is included inside the
archive then all the user has to do is click on the "GO"
button and the program executes.
Why support a GO.BAT file? If you are a novice user and have
just unpacked an archive, sometimes it isn't apparent how to
execute the programs contained inside. This gives the novice
an easy way to unpack and execute programs.
We have always thought one of the problems with archived
files is that novices rarely understand how to unpack them
and use them. Now, using 1stReader, they can simply select
the archive in the file manager, unpack it into its own
unique program subdirectory and then click on "GO" to run the
program.
We hope that more authors begin to support the GO.BAT file.
1stReader also supports GO.EXE, GO.COM and GO.BTM as well.
$$INTRO.BAT
-----------
This batch file is executed immediately after a mail packet
has been uncompressed. The idea behind this batch file is to
allow third-party developers to "pre-process" the mail packet
before the user reads it.
You can also use this batch file to convert other "foreign"
mail packet formats into QWK formats. We can't be of much
help explaining how to do this in this guide, but feel free
to call our customer support system at (615) 230-8822 for
more information.
Three parameters are passed to the $$INTRO.BAT file. These
parameters are:
%1 Name of the QWK-ID for the system
%2 Path to the work subdirectory
%3 Path to the replies subdirectory
7
$$REPLIES.BAT
-------------
This batch is executed by 1stReader as soon as a reply mail
packet is unbundled. The idea behind this batch file is to
allow you to process the reply mail packet in any way you
wish before you read the mail packet. The same parameters
used in the $$INTRO.BAT file are passed to this batch file
from 1stReader.
$$FILER.BAT
-----------
This batch file will execute whenever you click on the
"Files" button in the "Read messages" screen. It's designed
so you can process the NEWFILES.DAT file any way you wish.
Only one parameter is passed in '%1' to the batch file, and
that is the full name of the NEWFILES.DAT filespec.
$$EXIT.BAT
----------
$$EXIT.BAT works just like $$INTRO.BAT, except that instead
of being a "preprocessor" for the mail packet it is a "post-
processor". This batch file is called after you have exited
the mail packet but before the contents of the work
subdirectories are erased.
Any files found in the REP-WORK subdirectory are included in
the .REP reply mail packet.
Three parameters are passed to the $$EXIT.BAT file. These
parameters are:
%1 Name of the QWK-ID for the system
%2 Path to the work subdirectory
%3 Path to the replies subdirectory
8
$$SPELL.BAT
-----------
If this batch file exists then 1stReader will ask you if you
wish to perform a spelling check on your reply just before
you save the message. The batch file uses the '%1' parameter
to store the filename being passed to the batch file. This
is a great way to interface spelling checkers like SHARESPELL
with 1stReader. Example (assumes ShareSpell is in the
\SSPELL subdirectory):
@ECHO OFF
CD \SSPELL
SS %1
$$CNAMES.BAT
------------
This batch file works when a user clicks on the "Conf List"
button in the 'Join a conference' screen. The idea behind
this batch is to allow 1stReader to shell to a program that
the user can query for conference information. Some systems
have over 5,000 conferences so a database isn't such a bad
idea!
$$Fxx.BAT
---------
These batch files (where 'xx' is a value from 1 to 10)
correspond to the function keys on your keyboard. If you
press the [SHIFT]+F10 key, for example, then 1stReader will
execute $$F10.BAT (if found). This feature lets you
interface programs that you wish to have executed from one
keystroke rather than inserting them into the [F7] command
files (described below).
9
.CMD files
----------
.CMD (Command) files let you integrate other programs into
1stReader. .CMD files are text files that contain program
descriptions and program commands. You can call up the .CMD
file(s) by pressing the [F7] key on your keyboard.
The format of the .CMD file is:
TITLE=<title description>
Description #1,DOS command #1
Description #2,DOS command #2
Description #3,DOS command #3
You may have up to 100 commands per file. You can also
"chain" .CMD files by using the syntax:
Description #xx,FILE=<filespec>.CMD
To create a .CMD file press ALT+F7. This will place you in
the editor where you can create the file.
$$1ST.CMD
---------
Usually, you will be interested in $$1ST.CMD. If this file
exists then 1stReader will load the file and display the menu
of functions in the middle of your screen. You can then
select which program you wish to execute and 1stReader will
SHELL and execute the DOS command.
$$ppff.CMD
----------
Almost all of the keyboard input fields are identified in
1stReader by page and field number. If $$ppff.CMD exists
(where "pp" is the page number and "ff" is the field number)
then 1stReader will display THIS file instead of $$1ST.CMD,
if $$ppff.CMD exists.
You can create custom .CMD files for specific keyboard input
fields by pressing the ALT+F7 key at anytime.
10
Multiple EDITORS and LIST programs
----------------------------------
If you wish to use external editors or list programs you can
create EDITORS.CMD and LIST.CMD files that contain the
descriptions and commands needed to execute them. For
example, EDITORS.CMD might contain:
Title=External Editors
QEdit,Q %1 %2
TED,TED %1
DOS 5.00 Editor,EDIT %1
Instead of entering the DOS command for an editor you would
use the entry "EDITORS.CMD" instead. Then, when you are
about to SHELL to DOS to execute the external editor
1stReader will ask you to select an editor from this list.
'%1' gets translated into the "ORIGINAL" filespec and '%2'
gets translated into the "REPLY" filespec.
The same technique works for LIST.CMD except that you would
only use '%1' to be replaced by the name of the file to list.
1stReader supports up to 100 external editors and file
listers using this technique. You can create these files by
going into Setup's "EDITOR" section then entering LIST.CMD
and/or EDITORS.CMD in the appropriate entry field. Then,
press ALT+F7 to create the file.
11
SHELL modifiers
---------------
1stReader lets you control HOW it shells to a program using
"shell modifiers". These switches let you control whether
the current screen is saved or cleared before you shell to
DOS, if you wish to PAUSE before returning back to 1stReader,
etc.
/API: <filespec>
----------------
The /API modifier tells 1stReader to create a file named
<filespec> that contains the entire 1stReader API
(Applications Program Interface).
This feature lets third-party programmers read the current
environment used by 1stReader so they may take advantage of
them for their own programs.
The format of <filespec> is:
API integer entry #0
API integer entry #1
....
API integer entry #139
API integer entry #140
API long integer entry #0
API long integer entry #1
...
API long integer entry #9
API long integer entry #10
API string entry #0
API string entry #1
...
API string entry #99
API string entry #100
The actual definitions for the API entries is detailed in the
API definitions later in this guide. <filespec> is deleted
by 1stReader when you return from the DOS SHELL.
/CLS and /NOCLS
---------------
The /CLS modifier tells 1stReader to erase the screen and
display the DOS command before execution. /NOCLS tells
1stReader to leave the current screen intact and shell to the
program, providing a "seamless" screen. When the application
returns control back to 1stReader the current screen is
always redisplayed.
12
/EXPORT: <filespec>
-------------------
This modifier lets you export the current message into
<filespec> so you can shell to another program that reads
<filespec> for input. This is a powerful feature that lets
third-party software link into 1stReader and offer you
capabilities above those found in the reader.
The format of the exported message file is:
1stReader release number
Name of the bulletin board
Location
Telephone number
Sysop's name
Qmail Door serial number
PCBoard message status (225=Active, 226=Deleted)
Conference number
Message number
Message status flag
Date
Time
To
From
Subject
Reference number
Number of lines in text body
...Message text...
<filespec> is automatically deleted by 1stReader when you
return from the DOS SHELL.
/IN: <filespec1> /OUT: <filespec2>
-----------------------------------
These two modifiers work together...there is no point in
using /IN without also using /OUT. They provide you with a
"flexible" API setup for third-party programmers.
This concept takes a bit of explaining. Remember the /API
modifier described earlier? That modifier creates a file of
every entry contained in the 1stReader API. As a third-party
programmer, you might only be interested in using a couple of
the entries, but maybe not every single one.
1stReader uses <filespec1> as a "template" in order to create
<filespec2>. The template can contain any information your
application requires in any order you wish. @variables
defined in <filespec1> are translated and written out to
<filespec2>.
13
For example:
<filespec1> <filespec2>
----------------------- -------------------------
My App 1.01 My App 1.01
@API$(0) C:\1ST\1ST.SET
@API$(5) C:\1ST\
@API$(36),@DAY@ MARK HERRING,Wed
As you can see, 1stReader "reads" <filespec1> and translates
it into <filespec2>. Any "literals" that 1stReader cannot
translate get passed "as is". <filespec1> is never deleted
by 1stReader. <filespec2> is erased after returning from the
DOS SHELL.
This feature works well when you wish to write other
applications that tie seamlessly into 1stReader.
/NS and /SS
-----------
The /NS (No Supershell) modifier tells 1stReader that if
SuperShell has been turned ON by the user then it should not
invoke a SuperShell during this command.
/SS (SuperShell) works in the opposite. It tells 1stReader
to invoke SuperShell even if the user has not turned
SuperShell on.
/PAUSE
------
This modifier tells 1stReader to pause and wait for a
keystroke before returning control back to the user.
KEYBOARD.$$$
------------
This isn't a DOS command modifier but rather a file that can
contain information to be passed back to 1stReader. If you
shell to DOS from a keyboard input field, and the application
you execute creates a KEYBOARD.$$$ file in the current
subdirectory, this file is read by 1stReader and its contents
entered into the current keyboard entry field. This is an
excellent way for third-party applications (like
address books) to pass information back to 1stReader.
14
MESSAGE.$$$
-----------
This too isn't a DOS command modifier. Instead, it is a file
that contains a full message that is to be saved by 1stReader
into the reply mail packet.
The idea behind supporting this file is to allow other
programs that might be shelled to from 1stReader to save
messages automatically, without having to go through the same
steps 1stReader performs to save the message.
Here is the format used for MESSAGE.$$$:
Line 1: Conference number to save message
Line 2: If a public message this line is blank,
otherwise the message is a personal msg.
Line 3: Message TO field (address to whom)
Line 4: Message SUBJECT field
Line 5: Tagline to pass to 1stReader
Message text follows on line #6 and below.
1stReader always checks for MESSAGE.$$$ after a DOS shell and
deletes the file after saving the message.
<confname>.TMP files
--------------------
The template files let you create 'forms' that are
automatically inserted into the editor when a user ENTERS a
new message. The form can be a standard bug report form or
any form you wish. The idea behind this feature is to give
the user an idea of what they should enter in a new message.
1stReader looks for <confname>.TMP using the current
conference's name (up to the first eight characters). For
example, if the user was in the 'TEST' conference and entered
a new message, 1stReader would look for TEST.TMP and if found
it would load it into the editor. If TEST.TMP is not found
then 1stReader looks for $$1ST.TMP instead.
If the internal editor is used 1stReader also toggles the
editor into an 'overstrike' mode.
15
.LST (Picklist) files
---------------------
.LST files let you display items from a "picklist" and enter
them into 1stReader's keyboard entry field. You can create
these picklists at anytime by pressing the ALT+F8 key on your
keyboard. You can display the picklist selections by
pressing the [F8] key while in the keyboard entry field.
Format of a .LST file is:
TITLE=<description>
Pick entry #1
Pick entry #2
...
Each picklist can contain up to 100 entries per file. You
will know that a picklist is available because 1stReader
displays "[F8]=Picklist" on your screen.
You can load multiple picklists from one picklist if you make
an entry "FILE=<filespec>". Select this entry and the new
picklist will load.
16
.DOS files
----------
The DOS command modifiers described earlier make it very easy
to control how programs listed in .CMD files work. All you
need to do is add them to the DOS command line entries in
the .CMD files.
However, what if you would like to use these modifiers with
batch files? Or DOS programs you might execute from within
the file manager? Obviously, you can't add these modifiers
on the command line.
This is where .DOS files come into play. These files let you
customize a DOS command line that is passed to the 1stReader
DOS shell routine so any program can take advantage of them.
.DOS files rely upon the name of the program or batch file
that is being executed in order to locate them. This means
that if you are about to execute JH3.EXE then 1stReader will
look for a file named JH3.DOS. The reader looks first in the
current subdirectory, then in the BBS subdirectory and
finally the SYSTEM subdirectory to find a match.
The file JH3.DOS can contain any DOS modifiers or any
@variables (described later in this guide). 1stReader will
read the first line from the JH3.DOS file and append it to
the JH3.EXE command line. If JH3.DOS contains:
"/NOCLS"
then when JH3.EXE is executed the screen would not be erased.
Remember, ALL batch files and programs executed in a DOS
shell from 1stReader support .DOS files.
17
The 1stReader Applications Program Interface (API)
--------------------------------------------------
The 1stReader API is designed to let third-party programmers
have access to the internal information used by 1stReader.
It is a "read-only" interface. At this time there is no
provision to allow another program to change the data in the
API.
Power users will also find the API of interest. That's
because we have provided you with special functions that let
you access the API. These functions are:
@API(xx) Accesses the integer API entries.
"xx" can be between 0 and 140.
@API&(xx) Accesses the long integer API entries.
"xx" can be between 0 and 10.
@API$(xx) Accesses the API text entries.
"xx" can be between 0 and 100.
The actual API values are listed below. One important thing
to remember is that 1stReader supports these (and ALL)
@variable definitions in filespecs, text entries and
descriptions. They come in VERY handy with the .CMD, .LST
and .DOS files.
Here is a list of the 1stReader API entries. If you have
specific questions about any of these entries please leave us
a message on our customer support system at (615) 230-8822.
1stReader Integer API table
------------------------------------------------------------
1: Text file (1STTEXT) file handle
2: Segment address of 1STTEXT (if loaded)
3: SCREENS file handle
4: Length of the DialDir entry
5: SYSTEMS file handle
6: Number of screens on file
7: Screen buffer segment address
8: Current screen number
9: Reader screen buffer
10: Does a mouse exist?
11: Mouse cursor state
12: Are we in ScrnEdit?
18
13: Last keyboard field entered
14: The user cannot access help from this location
15: Total number of systems on file
16: Current system record number
17: Are we inside QmSetup?
18: Are we inside ShowFile?
19: Qmail Door serial number
20: Is the user a sysop?
21: Maximum number of lines per message
22: Number of conferences on file
23: Number of login names
24: Number of active conferences
25: File handle for MESSAGES.DAT
26: Current conference number
27: Current MIDI velocity value
28: Is music enabled for this display?
29: Is this display an ANSI ART display?
30: Last conference joined
31: Number of messages in conference
32: Current message number in conference
33: Number of lines in current message
34: Is this message an ANSI message?
35: Last message number loaded
36: Current line number in message
37: File handle for the replies file
38: A DosService call was made
39: Normal message text color
40: Quoted message text color
41: Search message text color
42: Current message file buffer
43: Was a bookmark read?
44: Is this message addressed to you?
45: Message type
46: Is the message read (1=Yes, 0=No)
47: Number of mouse traps in effect
48: Number of files downloaded in TERMINAL mode
49: Are we in batch mode using /CALL?
50: File handle for zippy file search
51: Are we in color mode?
52: How many active keywords are there in the scan?
53: Is this message a USENET message?
54: Was F10 pressed? (The action key)
55: Number of names in TWIT file
56: Reload the TWIT file?
57: Last conference joined since Zippy
58: File handle for folders
59: Are we in the initial IPL for the reader?
60: Stacked OPTION command (used when CTRL is pressed)
61: Are we currently inside QmListFile?
62: Was a packet found on startup in the work area
63: Highest conference number
19
64: Last message line displayed at top in internal quoter
65: Number of messages tagged for archiving
66: If set then the message is not redisplayed
67: Number of files found in the mail packet
68: Direction of the QmScrnEdit field movement
69: File number for services.dat
70: Number of services on file
71: File handle number for the .QWK packet
72: Number of new bulletins found
73: Packet number selected
74: Set for QmListConf
75: Display this message in ANSI
76: Button pressed in MouseRange()
77: Mouse button selected in MouseRange()
78: Number of messages in this packet
79: Have we initialized the modem?
80: Force carrier on modem?
81: The comm ABORT switch
82: Recycle to next call in queue
83: Echo received characters from comm port on screen?
84: Number of LOOK variables defined
85: Timeout value for comm routines
86: Are autoZmodem downloads enabled?
87: Are we in terminal mode?
88: Reload the current message?
89: Are we in the terminal program
90: Buffer position for comm routines
91: Was JH called?
92: IRQ number
93: Base address
94: Reading without a packet on file?
95: Flow control parameter
96: Is the comm port open?
97: FIFO buffer size
98: Are we now reading a packet?
99: Are we inside a script?
100: Is this message routed from PCRelay?
101: Is this message routed from Usenet?
102: Is AutoExit in terminal enabled?
103: Are we inside the DOS SHELL (F6) handler?
104: Was /QWK: used?
105: Was /REP: used?
106: Are we inside the function menu routine?
107: Maximum number of messages per conference
108: Use "UN:" on this message?
109: Was this mail packet mangled by EZ-Reader?
110: Mixed case entry flag
111: Fido style taglines flag
112: Have mail headers been swapped out?
113: Current field number in screen
114: Are we inside the editor subroutine?
20
115: CONTROLTYPE = ADD found in DOOR.ID
116: Should ADD/DROP buttons be displayed?
117: Are we inside the DOOR setup routine?
118: Strip @X codes?
119: International date format (0=USA, 1=EUROPE, 2=JAPAN)
120: Is a message loaded?
121: Are we inside the QmListConfs routine?
122: Is Doorway mode turned on?
123: Was doorway mode turned on while executing a script?
124: Maximum number of lines in a reply
125: Were services included in this packet?
126: Was KEYBOARD.$$$ read?
127: HELP.DAT handle
128: Help record file
129: If set then use 4DOS BTM files
130: Maximum possible number of messages allowed
131: Was HELP just called?
132: Last archive packet used
133: Number of Replace$() variables defined
134: Archiver used to unpack mail packet
135: Are we ordering 1stReader?
136: Was the last unpack operation successful?
137: Stop the pause in QmFileDisplay?
138: Size of 16550 FIFO stack (modified by 1st)
139: Are we inside help?
140: Is user a Qmail Door owner?
141: Are we inside the internal editor?
142: Number of times TIMEOUT was hit in script
143: Number of times for TIMEOUT to hit before ABORTing
144: Capture buffer file number
145: Reload the message display screen?
146:
147:
148: Is this a Blue Wave packet?
149: Is the user "NEW USER"?
150: BBS system type
151: Low mark string space
152: High mark stack space
1stReader Long Integer API Table
------------------------------------------------------------
0: 1stReader Serial number
1: Total number of records in MESSAGES.DAT
2: Total number of records in REPLY file
3: Beginning position of the bookmark inside the .QWK
4: Current baud rate
5: Last time a character was received in comm channel
6: Current message record number in MESSAGES.DAT
21
1stReader Text API Table
------------------------------------------------------------
0: Name of the .CFG file
1: Path to the packets subdirectory
2: Path to the download files subdirectory
3: Path to the programs files subdirectory
4: Path to the opening subdirectory
5: Path to the system subdirectory
6: Path to the reply packets subdirectory
7: Mail packet extension (Q*)
8: Reply packet extension (REP)
9: Mail packet filespec (No path)
10: Name of PACKET ID
11: Name of BBS
12: Mail packet name
13: Reply packet name
14: Path to BBS subdirectory
15: Path to the work subdirectory
16: Path to the replies subdirectory
17: Path to the services subdirectory
18: Path to the folders subdirectory
19: Last import file subdirectory
20: TWIT list filespec
21: Last folder filespec (no .FOL extension)
22: Current conference name
23: Name of the SERVICES.LST file
24: Last conference name
25: Release date
26: Suffix of the ID keyfile
27: Path to the .SET file
28: Path to the startup subdirectory
29: Path to the SCRIPT files subdirectory
30: Name of system
31: Telephone number
32: Sysop's name
33: Door ID
34: Date of packet
35: Time of packet
36: User's name
37: Second scan name
38: Third scan name
39:
40: Welcome filespec
41: BBS news filespec
42: Goodbye filespec
43: Quote name
44: Name of the bookmark file
45: CTRL sequences for OPTIONS
46: ALT translation string
22
47:
48:
49: Quote character entry from setup
50: Full path to MESSAGES.DAT
51: Full path to the REPLY .MSG file
52: Scan entry #1
53: Scan entry #2
54: Scan entry #3
55: Scan entry #4
56: PCRelay routing site
57: Last directory viewed in reader menu
58: Path to the subdirectory being viewed in file manager
59: Filespec currently selected in the program manager
60: Usenet Path
61: From
62: Newsgroups
63: Subject
64: Message ID
65: Date
66: References
67: Sender
68: Organization
69: Domain
70: Reply-To
71: Bookmarker
72: Last color change issued by ANSI
73: Name of the USENET.ID file
74: User name in upper/lower case
75: User name in Usenet format
76: Comm port base address in HEX
77: String passed to program from DOS shell
78: String value present when QmEditor executed
79: Control name for door ADD/DROP
80: Name of the service file (no path or extension)
81: Last DOS command selected in QmMenu
82: Conference name (dots removed)
83: Current contents of the keyboard input buffer
84: Current conference name
85: Message number
86: Date
87: Time
88: Status
89: To
90: From
91: Subject
92: Refer
93: Reader
94: Serial number
95: Tagline
96: Actual PCB message header
97: Last color saved by @X00
98: Last highlight ANSI switch used
99: Fido Address (if any)
100: Current conference number
Online help reference
---------------------
This is a list of the online help references used throughout
1stReader.
100: Opening screen help file
101: Help with the .CMD menu files
102: Setup screen help file
103: Switches help screen
104: Modem and Communications help screen
105: Taglines entry help screen
106: Paths and editors help screen
107: Colors help screen
108: Changes in setup - confirm saving
109: Changes in setup - enter a name for the setup
110: Manage files - asks for directory path
111: Manage files - list of commands
112: Help with LIST
113: Help with the COPY option
114: COPY - File exists! Copy over it?
115: Help with the internal editor - editing a file
116: Edit a file - save these changes?
117:
118: Unpack <FILESPEC>?
119: Unpack file to the default subdirectory
120: Remove a subdirectory
121: Delete a filespec.
122: Help with entering a new system
123: Enter a new system - Save these changes?
124: Enter a new system - Delete this system?
125: Mail packet screen - no packets on file
126: Mail packet screen - packets on file
127: Deleting the BBS - mail packets found
128: Time for calling BBS
129: Read messages main command screen
130: News and bulletins screen
131: Join a conference screen
132: Print a list of conferences from the join screen
133: Add a conference from the join screen
134: Drop a conference from the join screen
135: Reading messages
136: Internal editor - entering a message
137: Save a message screen
138: Throw message away dialog box
139: Folders screen
140: Sort by description - folders
141: Delete a folder - folders
142: Select a tagline for a message
143: Confirm use of a "blue" tagline
144: Message options help
24
145: Save message to filespec entry
146: Save tagged messages
147: Printer not working - try again?
148: Ignore <USER>
149: Sort order screen
150: Zippy screen
151: List of services screen
152: Delete <service>
153: Qmail Door configurations
154: Add, drop or reset a conference through "DOOR"
155: Help with the OPTIONS or SERVICES command
156: New setup filespec was entered - enter description
157: Do you wish to quit reading this mail packet
158: Delete this mail packet
159: Waiting to call a system screen
160: No services are available - novice screen
161: Configuration changes on file - save them?
162: Add a manually entered tagline when saving message
163: Delete the contents of the <xxxx> subdir (unpack)
164: Displaying a text file
165: 1stReader has found a mail packet waiting in WORK
166: Confirmation of the action
167: Do you wish to print this text on the printer?
168: List messages display
169: Beta tester's screen
170: Importing a file into the editor
171: Quoting a message
172: Config - Edit keywords
173: Config - Change "city" field in your PCBoard record
174: Config - Change business/data phone number
175: Config - Change your home/voice phone number
176: Config - Turn the PCBoard EXPERT mode ON or OFF
177: Config - Change your PCBoard file transfer protocol
178: Config - Change your PCBoard user maintained comment
179: Config - Change Qmail Door file transfer protocol
180: Config - Turn the Qmail Door EXPERT mode ON or OFF
181: Config - Maxsize of .QWK packet (in bytes)
182: Config - Change the max number of msgs per conf
183: Setup files display on intro
184: Welcome new user
185: Terminal commands
186: Downloading a file
187: Uploading a file
188: Help with external pack commands
189: Order form
190: Diskette size
191: Telephone
192: Comments on the order
193: DELUXE2.KEY file does not check out
194: Sysop key found - inform user
195: Sysop welcome screen
25
196: System you are calling does not have login info
197: Demo mode explaination
198: New user login
199: Transmit replies only?
200: Qmail DeLuxe² owner discount
@variables supported by 1stReader
---------------------------------
This is a list of all @variables supported by 1stReader. You
may use these variables in any file, script, .CMD, .LST or
.DOS file.
Variable Description
------------------- ---------------------------------
@CLREOL@ Clears display to the end of line
@DATE@ Current system date
@SYSDATE@ Current system date
@TIME@ Current system time
@SYSTIME@ Current system time
@TO@ Message "TO" field
@FROM@ Message "FROM" field
@SUBJECT@ Message "SUBJECT" field
@GOODNAME@ Your name in upper/lower case
@USENETNAME@ Your name in Usenet "." format
@EDIT@ DOS editor command
@LIST@ DOS list command
@ORIGINAL@ Original message filespec
@REPLY@ Reply message filespec
@BBSID@ Qmail Door packet ID
@MEMORY@ Free memory available in 1st
@VERSION@ 1stReader release edition
@PHONE@ Telephone of the BBS
@CONF@ Current conference name
@CONF2@ Current conference (underscored)
@API$(xxx) This variable reads the 1stReader
API string table and is replaced
with the current value.
@API(xxx) This variable reads the 1stReader
API integer table and is
replaced with the current value.
@API&(xxx) This variable reads the 1stReader
API long integer table and is
replaced with the current value.
@SWITCH(xx) This variable reads the 1stReader
switches table. If the switch is
turned ON then a "-1" is returned.
Otherwise, a "0" is returned. See
the "SWITCH" script function for a
complete list of switch numbers.
These @variables are available if you are reading a message
from a 'Usenet' conference:
@U-PATH@ 'Path' line in message
@U-FROM@ 'From' line in message
@U-NEWSGROUPS@ 'Newsgroups' line in message
@U-SUBJECT@ 'Subject' line in message
@U-MESSAGE-ID@ 'Message-ID' line in message
@U-DATE@ 'Date' line in message
@U-REFERENCES@ 'References' line in message
@U-SENDER@ 'Sender' line in message
@U-ORGANIZATION@ 'Organization' line in message
@U-DOMAIN@ 'Domain' line in message
@U-REPLY-TO@ 'Reply-To' line in message
1stReader will also substitute any DOS environment variables
by enclosing them in "%" characters. For example, %PATH%
would be replaced with the DOS path from your environment.
27
1stReader script language
-------------------------
Commands are in FULL CAPITAL letters. Required values are
enclosed in <arrows> and optional values are enclosed in
[brackets]. Of course, do not include these characters in
the actual command.
Sometimes command parameters will be enclosed by quotation
marks. If present in the command description then these
quotation marks are required in the actual command line.
ABORT <value> Type: command
The ABORT command works with the TIMEOUT command to determine
how many carriage returns must be sent (without a response
back from the BBS) before 1stReader declares the script to be
'locked'. If the number of carriage returns transmitted
exceed <value> then the script is aborted by 1stReader.
API <value> Type: function
The API function reads the integer API table for entry
<value>. Some API values are flags that can be tested for ON
or OFF conditions. This function lets you conduct those
tests.
AUTOEXIT <on|off> Type: command
The AUTOEXIT command controls how 1stReader will exit out of
the TERMINAL mode. If AUTOEXIT ON is set then if carrier is
lost while the user is in terminal mode, 1stReader will exit
the script. AUTOEXIT OFF causes 1stReader to stay in the
terminal mode until the user presses ALT+X to exit.
CAPTURE <on|off> Type: command
The CAPTURE command will open a file named <BBSID>.CAP in the
1stReader system subdirectory. This file will capture the
screens displayed by 1stReader so you can review it later.
If the capture file is left open when a script terminates
then 1stReader will close the capture file automatically.
28
CLS Type: command
The CLS command will clear the screen and set the cursor to
the top of the screen.
COMMENT "string" Type: command
This command lets you display a comment on the screen in the
area setup below the LOCKLINE value.
COUNT <qwk|rep> Type: command
The COUNT command increments the number of QWK mail packets
received and the number of REP mail packets uploaded to the
bulletin board system.
DEBUG Type: function
The DEBUG function lets you test to see if DEBUG (switch #18)
has been turned on by the user. You could use the SWITCH
function to test for this condition but the DEBUG function
provides better script readability.
DOWNLOAD <filespec> Type: command
The DOWNLOAD command will download <filespec> using the
Zmodem file transfer protocol.
EDIT <filespec> Type: command
The EDIT command lets you edit <filespec> from inside a
script. If <filespec> does not exist it will be created for
you.
EXIT Type: command
The EXIT command will immediately disconnect the BBS and exit
the script. You should use it if you wish to exit a script
without waiting for the BBS to disconnect from you.
FOUND=<value> Type: function
The FOUND function returns which prompt string was found
using a WAITFOR command. If a WAITFOR command uses multiple
target prompts (example: WAITFOR "Yes|No") the FOUND=
function will return a value of "1" if "Yes" was found or "2"
if "No" was found.
29
GOSUB <label> Type: command
The GOSUB command lets you call a subroutine in your script
that is located at <label>.
GOTO <label> Type: command
The GOTO command transfers flow of the script to <label>. A
label always starts with a colon and is one word long on a
line by itself. Up to 100 labels may be defined in a script.
HANGUP Type: command
The HANGUP command will immediately terminate the connection
to the remote BBS.
HELP <number> Type: command
The HELP command displays the online help available from
inside 1stReader's HELP files. See the list of HELP
functions for more information.
IF ...... Type: statement
You may use the IF statement to test for various conditions
and execute a command based on the results. The syntax of
the IF statement is:
IF <function> <command>
There is no "THEN" in the IF statement - THEN is assumed and
is redundant. You may use any <function> defined in the
script language and combine it with any <command> as the
object of the IF statement.
1stReader also provides for a NOT modifier so you can test if
a particular function is not true. The NOT statement must
come before the <function>. The syntax of the IF statement
using a NOT modifier is:
IF NOT <function> <command>
30
KEYSTROKE=<value> Type: function
This function returns the ASCII value of the keystroke given
to the last PAUSE command. If a lower case character was
pressed then 1stReader automatically converts it to upper
case for you.
Examples:
PAUSE
IF KEYSTROKE=13 .... ' Enter was pressed
IF KEYSTROKE=27 .... ' ESC key was pressed
IF KEYSTROKE=32 .... ' Space bar pressed
KILL <filespec> Type: command
The KILL command will erase <filespec> from the drive.
LIST <filespec> Type: command
The LIST command will display a text file using the internal
file lister. The difference between the SHOW and LIST
commands is that the SHOW command loads the text into memory
and displays it using the help screen while LIST will display
any size file using the internal list routines.
LOCKLINE <row> <attribute> Type: command
The LOCKLINE command lets you allocate a section of the
screen for COMMENTs from the script file. <row> is the row
number on the screen (rows 1 through 24) to "lock" so
comments may be printed below it. In other words, <row> is
the last row that information received from the BBS is
displayed. Immediately after <row> a line is drawn by
1stReader. <attribute> is the color attribute value that is
used to paint the remaining rows underneath the solid line.
LOOKFOR "prompt string" "transmit string" Type: command
The LOOKFOR command is used to scan incoming data for "prompt
string" and if found, transmit "transmit string". If you
wish to remove a LOOKFOR command that is already in place use
the syntax LOOKFOR "prompt string" "". The null string in
place of the "transmit string" tells 1stReader to remove the
LOOKFOR command. Remember, the "prompt string" must match
the original string. Up to 10 LOOKFORs may be active at any
one time.
31
PAUSE [seconds] Type: command
The PAUSE command will pause execution of the script for
[seconds]. If you do not use a [seconds] argument then the
script will pause until you press any key.
PLAY "string" Type: command
This command will play the ANSI music enclosed in "string"
through the PC's internal speaker (if the MUSIC switch has
been turned ON).
REPLIES Type: function
The REPLIES function will check to see if a @BBSID@.REP file
exists in the packets subdirectory. Use this function with
an IF statement to determine if replies are on file and
should be uploaded.
RETURN [label] Type: command
The RETURN command returns execution of the 1stReader script
to the next command after the calling GOSUB command. If you
include the optional [label] then execution resumes at the
statement following the label.
RUN <script filespec> [label] Type: command
The RUN command lets you load a new script into 1stReader.
If you include the optional [label] then execution will begin
at the label.
SHOW <filespec> Type: command
The SHOW command will display a short text file on the
screen. The difference between the SHOW and LIST commands is
that the SHOW command loads the text into memory and displays
it using the help screen while LIST will display any size
file using the internal list routines.
32
SWITCH <value> Type: function
The SWITCH function lets you query the 1stReader switch
settings. You can then use an IF statement to take action
based on the way a particular switch is set. <value>
corresponds to the following table:
Value Switch description
----- ------------------
1 Advanced features
2 Use bookmarks
3 External editor
4 Color monitor
5 Sound
6 ANSI emulator
7 ANSI message display
8 Random taglines
9 Music
10 Use mouse
11 Auto position mouse
12 Sort conferences
13 FIDO taglines
14 Hangup using DTR
15 PCRelay routing
16 Load 1STTEXT
17 Top of form on printer
18 Debug scripts
19 Log calls
20 Save new file lists
21 SuperShell to DISK
22 SuperShell to EMS
23 Skip messages you have read
24 Internal packing
Remember you may use the IF NOT condition to see if a
particular switch has been turned OFF.
TERMINAL Type: command
The TERMINAL command does not have any arguments. It will
send the user into an immediate terminal mode. To exit the
terminal mode and return to the script press ALT+X.
TRANSMIT "string" Type: command
The TRANSMIT command will transmit "string" to the remote
system.
33
TRANSMIT; "string" Type: command
This command works just like the TRANSMIT command except that
any embedded spaces are converted into semi-colons. For
example, TRANSMIT; "Mark Herring" would be converted into
"Mark;Herring". This command can be used to log into systems
that require semi-colons for a single-line login.
TIMEOUT <seconds> Type: command
The TIMEOUT command sets the number of seconds that must pass
without receiving data from the remote system before the
reader will transmit a carriage return. This command is used
to catch situations where you might be sitting at the
"Command?" prompt on PCBoard yet the script may not catch it.
If you wish to disable the TIMEOUT completely use a value of
0 seconds.
UPLOAD <filespec> Type: command
The UPLOAD command will upload <filespec> using the Zmodem
file transfer protocol.
WAITFOR "prompt string" [seconds] Type: command
The WAITFOR command scans incoming text for "prompt string".
When "prompt string" has been found execution of the script
continues. [seconds] is an optional value that can be added
to the command so that WAITFOR only waits for [seconds] for
"prompt string" to be found. If [seconds] pass with or
without finding "prompt string" execution of the script
continues.
You can scan for more than one value by separating the values
using "|" bar characters. For example, WAITFOR "Yes|No"
would wait for either "Yes" or "No" to be received. You can
later test which value was received by using the FOUND=
function.
WEEKDAY Type: function
The WEEKDAY function returns the day of the week in numeric
form. Sunday=1, Monday=2, Tuesday=3, Wednesday=4,
Thursday=5, Friday=6, Saturday=7. You can use this function
with the IF function to find out which day of the week today
falls upon.
34
Special @variables
------------------
1stReader maintains special @variables that can be used by
scripts. Here is a list of variables supported:
@BBSNAME@ The name of the BBS.
@USER@ The name of the LOGIN field in the
BBS record.
@PASSWORD@ The password field in the BBS record.
@SYSTEMDIR@ Location of the 1stReader system
subdirectory.
@PACKETDIR@ Location of the mail packet
subdirectory.
@DLDIR@ Location of the file download
subdirectory.
@REPDIR@ Location of the replies subdirectory.
@PROGDIR@ Location of the PROGRAMS
subdirectory.
@LANGAUGE@ The language version field from the
BBS record. If the language value is
set to "0" then this variable will be
set to blank.
@QMAIL@ This variable is set to the name of
the door command for the BBS.
@COMMAND@ This variable will check to see if a
reply packet is available for
uploading. If a packet is found then
"U;D" is assigned to the variable.
Otherwise, "D" is assigned.
@CONFERENCE@ The conference number field
from the BBS record. This value is
used to join a conference before
calling the Qmail Door if it is to be
called from another conference.
@DATE@ Replaced with today's date.
@TIME@ Replaced with the current time.
35
@GRAPHICS@ Set to "Y" if you have enabled
graphics for this BBS. Otherwise, it
it is set to "N".
@FIRST@ Set to the user's FIRST name.
Special characters
------------------
1stReader interprets two special characters for values. The
first character is a carat "^". 1stReader will convert the
next character, if alphabetical, into a CONTROL sequence.
For example, "^G" will ring a bell or "^M" is a carriage
return.
You can also use "X'" to convert any hexadecimal value into a
single character. For example, "X'1B" converts into the ESC
character.
36
Hints and Tips
--------------
This section contains 1stReader features and hints that do
not necessarily fit into any of the other areas discussed
earlier.
Support for .BIN and .B1N files
-------------------------------
1stReader can display .BIN files created by THEDRAW. 1st
also supports what we call ".B1N" (Bee One Enn) files. A
.B1N file contains TWO .BIN files copied together. The first
4000 bytes of the file (or the first .BIN file) is a
monochrome version of the screen display. The second 4000
bytes (or the second .BIN file) contains the color version.
You can create a .B1N file by creating two .BIN files inside
THEDRAW and then copying them together at the DOS command
prompt, like this:
COPY TEST.B1N+MONO.BIN+COLOR.BIN
1stReader displays the monochrome version of the file if the
color display switch is turned OFF. Otherwise, the color
version of the file is displayed.
1stReader will find .BIN and .B1N files when looking for
$$CALL files. The order of the search is:
.ASC
.ANS
.B1N
.BIN
The WELCOME file
----------------
When you startup 1stReader it will look for a file named
WELCOME in the system subdirectory. This can be a customized
file created by the user. WELCOME.ASC, WELCOME.ANS,
WELCOME.B1N and WELCOME.BIN are supported.
37
Using KEYBOARD.$$$ from the internal editor
-------------------------------------------
If you shell to a program while inside 1stReader's internal
editor and KEYBOARD.$$$ is created, then the first line of
KEYBOARD.$$$ is pasted into the text at the current cursor
location when control returns to 1stReader.
This feature lets third-party developers create "Usenet
address books" so they can pass back Usenet addresses into
replies. Of course, there can be hundreds of uses for this
feature too.
Pre-Print and Post-Print strings
--------------------------------
You can add pre- and post-printing initialization strings to
1stReader by using our 1STTEXT.EXE editing program. This
program, which is available on our customer support system
(you can use our DLXTEXT.EXE program too) lets you edit the
1STTEXT file.
Record #282 is reserved for any printer initialization string
you require. Record #283 is reserved for any post-printing
string you require.
Printer definition
------------------
Record #273 in 1STTEXT is used to declare the name of the
printer on your system. Currently, it defaults to "PRN" but
you can send printer output anywhere you wish by changing
record #273
Create your OWN help files
--------------------------
You can "over-ride" the internal help screens we have
provided in 1stReader by creating your own HELP.xxx files.
"xxx" corresponds to the help record number. You can create
custom help files for a BBS by storing them in the BBS
subdirectory. Or, you can globally affect the files by
storing them in the SYSTEM subdirectory.
38
1stReader is network ready
--------------------------
You can run multiple users from one copy of 1stReader kept on
a network. Or, you can let family members keep their own
setups without requiring multiple copies of 1stReader.
All you need to do is to create separate subdirectories for
each user. You could name them C:\1ST\JOHN, C:\1ST\BILL,
etc. You can even place them on separate drives if you wish.
Each user subdirectory MUST have a copy of 1ST.SET and
1ST.KEY in order to work. 1stReader will create unique files
and BBS subdirectories for each user.
In order to find the 1stReader system files, you need to use
the DOS environment variable "SET 1ST=C:\1ST\" (change this
to point to your 1stReader SYSTEM location) in your
AUTOEXEC.BAT file. This lets 1st find the files it needs to
run over a networked system. Remember, you must still
execute the program by typing C:\1ST\1ST from the DOS command
line or a batch file.
IMPORTANT NOTICE: YOU *MUST* PURCHASE MULTIPLE COPIES OF
1STREADER FOR EACH USER ON YOUR SYSTEM
IF USED IN A BUSINESS. IT IS A VIOLATION
OF OUR LICENSE AGREEMENT AND COPYRIGHTS IF
YOU ALLOW MULTIPLE USERS TO OPERATE
1STREADER USING THE SAME 1ST.KEY FILE.
Notice to families: We consider 1stReader to be 'marital
property'. Any family member who
lives under your roof may use your
copy of 1stReader.
39
GO.ASC, GO.ANS, GO.BIN, GO.B1N
------------------------------
In the file manager, after you select a subdirectory, if
1stReader finds any of these files in the current
subdirectory they are immediately displayed to the user.
The idea behind this feature is to allow archived programs
and "services" that are sent by Qmail Door to have their own
"introduction" when used with 1stReader.
A word about services and 1stReader. Offline games are now
very easy to create using 1stReader's service capabilities.
Your game can use one of these GO display files to welcome
the user to the game. If a READ.ME file is found in the
service then that file is automatically displayed to the user
(game news or rules could be posted here). Finally, you can
provide a GO.BAT file so all the user has to do to start your
game is to click on the "GO" button. Your game software can
then write any files that are needed to be sent back up to
The Qmail Door by storing them inside the REP-WORK
subdirectory. The contents of this subdirectory are
compressed into the .REP mail packet and transmitted back to
Qmail Door.
If you are interested in creating offline games for use with
Qmail Door and 1stReader, please give our customer support
system a call. We'll be happy to show you everything you
need.
Trivia games could be a good example of an offline game.
Automatic DOORWAY ON and DOORWAY OFF modes
------------------------------------------
1stReader's internal terminal module can look for special
codes that can be sent by the remote system to turn the
"Doorway" mode ON or OFF. These codes are stored in records
#274 and #275 of 1STTEXT.
40
"Header" files
--------------
1stReader supports "Header" files that can be used in your
editor whenever you enter a message. If the file
"HEADER.HDR" is found in either the BBS or SYSTEM
subdirectory, then 1stReader will read it and copy it into
the "top" of your reply. You can use any @variable you wish
in your header.
1stReader also looks for the text "∙HEADER:<name>" in a
message. If this text is found and <name>.HDR exists in
either the BBS or SYSTEM subdirectories, then 1stReader uses
this header file instead to begin your replies.
This feature works with our own "PCB/Usenet Gateway" for
systems that wish to create RFC-822 headers automatically.
We reserve the name "USENET.HDR" for our gateway. However,
other names can just as easily be used for other systems.
You can also have separate "Header" files for public and
private messages. 1stReader will determine which file is
used depending if you are replying to a public or private
message.
HEADER.PUB - Public messages
HEADER.PRI - Private messages
Sysops, this is a good candidate for your 1ST-TIME.ZIP files
Auto sensing dialog boxes
-------------------------
If you have defined the dialog boxes to use the same color as
the current background, 1stReader switches to a WHITE
background in the dialog box automatically so the box will
stand out. If your background is white (and you are using
color) then light blue will be substituted.
"Ok" and "Cancel" buttons
-------------------------
If you are using a mouse then 1stReader will place these
mouse buttons inside keyboard dialog boxes. They do not show
up if you are not using a mouse.
41
Attention John Hancock fans!
----------------------------
1stReader always supports the famous "DOS:JH3" tagline. This
allows you to call John Hancock from inside 1stReader. If
you like to use a lot of taglines in the internal tagline
manager, picking out that single "DOS:JH3" tagline could be a
bear.
Instead, create yourself a "picklist" for use at the tagline
prompt when saving a message by arrowing into this field and
pressing ALT+F8. Use this entry for your picklist:
TITLE=Taglines
DOS:JH3
Press [F8] to call up the picklist. When you select "DOS:
JH3" from the list 1stReader will call John Hancock
automatically and pass the tagline to you.
1stReader supports the "DOS:" command in taglines. If this
string is found then 1stReader will shell to DOS and execute
the command immediately after "DOS:".
Specialized conference .BAT, .BTM, .CMD and .LST files
------------------------------------------------------
If you create files using these extensions, but using the
names of conferences, then these files are active when you
press F6 (for .BAT files), F7 (or .CMD files) or F8 (or .LST
files).
This lets you create specific files that only work when you
have joined a particular conference.
Support for DOOR.ID
-------------------
If 1stReader finds a DOOR.ID inside the QWK mail packet and
the entry "CONTROLTYPE =" is found inside, then, when you add
or drop conferences using 1stReader, it reverts back to the
"old" method of writing one message at a time to add or drop
the conference. This method is provided for backwards
compatibility with older mail doors.
42
Downloading files
-----------------
If you download files from 1stReader's internal terminal
module or from your favorite terminal program, 1stReader will
automatically invoke the file manager and take you to your
download subdirectory when you exit the terminal mode.
This feature lets you manage the files you just downloaded in
the online session.
Longer signatures
-----------------
1stReader provides you with a "signature" field that will
automatically place your name on the bottom of messages you
enter in the reader.
However, you may find you need more lines in your signature
or you might like to incorporate graphics. 1stReader lets
you use "SIG=<filespec>" as a signature. This tells 1st to
look for the file <filespec> in the BBS subdirectory or in
the SYSTEM subdirectory. If found, the file is imported
automatically into your replies.
Multiple signatures
-------------------
Sometimes having only one signature can be a limitation.
1stReader lets you have up to 100 signatures per system if
you need them. The trick is to use the Picklist system.
Instead of entering your name in the signature field use the
entry "NAMES.LST". Then, press the ALT+F8 key to create the
picklist. Here is an example:
TITLE=Signatures
Sparky
Qmail Support
SIG=NAME1
When you save the message you'll be asked to select the
signature you wish to use. Notice the "SIG=NAME1" entry.
If you pick that entry 1stReader will use the file "NAME1"
as your signature.
43
Support for the "1ST" file
--------------------------
If 1stReader finds the file "1ST" inside a mail packet, it
will display this file to the user immediately after the
"Welcome" screen.
This file is provided so sysops can pass information on to
their offline mail users that might not apply to their
regular "online" users.
Automatic SuperShell
--------------------
If you have not turned SuperShell ON in Setup's "Switches"
section and you attempt to shell to DOS with less than 125k
of memory available, 1stReader will automatically invoke
SuperShell for you.
Nonstandard serial ports
------------------------
1stReader will support nonstandard COM3 and COM4 setups as
long as they do not use the "high" interrupts. 1stReader
defaults COM3: and COM4: to use the industry standard
addresses, but you can override this by using the format:
N IRQ/BASE
"N" is the serial port number (3 or 4). "IRQ" is the
interrupt request line value while "BASE" is the base
address, in hexadecimal. If your system uses the industry
standard addresses simply use "3" or "4" in this field.
Also note that 1stReader supports the "%4" parameter in
the Zmodem upload and download commands too. This parameter
is replaced with the BASE,IRQ value so DSZ can use the
"portx=" command line parameter.
44
New commands supported in DOOR.ID
---------------------------------
1stReader will use these commands if found in a DOOR.ID file
inserted into a QWK mail packet:
MIXEDCASE = YES
FIDOTAG = YES
If "MIXEDCASE = YES" is found then the user will be allowed
to address messages using upper and lower case. If the
string "FIDOTAG = YES" is found then messages left by
1stReader will automatically use Fido-compliant taglines.
You can use "Fido" taglines "on the fly" by including the
string "@FIDO@" in your replies if you wish.
LIST is restricted
------------------
You cannot list files that end with a .COM, .EXE, .OVL, .ZIP,
.ARC, .ARJ, .LHA or .ZOO file extensions from within
1stReader.
Robocomm-named packets supported
--------------------------------
1stReader will automatically find mail packets that have been
named using Robocomm's "nPACKET.QWK" format. "n" is the
packet number received for the bulletin board system.
QMAIL4 is assumed
-----------------
If you forget to enter the DOOR command in the bulletin
board's dialing entry then 1stReader will default to
"QMAIL4".
Three button mice users
-----------------------
If you use a three button mouse you'll find that clicking on
the middle mouse button will "ping pong" the mouse cursor
between the upper screen and mouse buttons on the bottom of
the screen. This feature works in the...
File management screen
List messages screen
Mail packets screen
45
Using SPACE BAR and SHIFT+ENTER
-------------------------------
1stReader supports use of the space bar as a method to move
through a mail packet. You can use nothing but the space to
read messages once you have selected the "Read" button from
the "Read messages" screen.
If you are using 1stReader on a laptop check out the
SHIFT+ENTER key combo. On laptops it can be hard finding
that PgDn key. If you hold down SHIFT while pressing the
ENTER key 1stReader will think you pressed the PgDn key.
Protect those 'questionable' taglines
-------------------------------------
If you place a question mark as the first character in a
tagline, 1stReader will ask you to confirm use of the tagline
in a message.
This feature helps protect you from using 'questionable'
taglines you might use in personal messages but not in public
messages.
'Hotkey' your .CMD and .LST entries
-----------------------------------
You can add 'hotkey' support for your .CMD and .LST files by
placing the character "»" (ASCII 175) directly *IN FRONT* of
the character you wish to use for the hotkey entry.
1stReader will strip the "»" character from the string when
it is returned back to you.
Entry fields are accessible
----------------------------
Entry fields are accessible through the @API$(xxx) function.
All field entries are numbered starting with field #1 at the
top of your screen. The @API$(xxx) function lets you access
the first field by using @API$(101). The second field entry
is accessible by using @API$(102), etc.
This feature lets you pass field entries that are on the
current screen to a shelled application. Remember that these
functions only return the field entries for the 'current'
screen. If the current screen does not contain any field
entries, the @API$(xxx) function returns a null string.
46
Sysops can use Qmail Door in DOS using 1stReader
------------------------------------------------
If you own a copy of Qmail Door you can have 1stReader scan
for new mail and upload replies by using the $$MAIL.BAT and
$$REPLY.BAT files.
Your $$MAIL.BAT file should read:
@echo off
cls
c:
cd \pcb
PCB145 /USERSYS;<first>;<last>;PWRD:<password>;TPA:QMAIL4
c:\pcb\qm4\qmail4 U;D;Y;G
PCB145 /READSYS
Your $$REPLY.BAT file should read:
@echo off
cls
c:
cd \pcb
PCB145 /USERSYS;<first>;<last>;PWRD:<password>;TPA:QMAIL4
c:\pcb\qm4\qmail4 U;G
PCB145 /READSYS
<first> is your first name used to log into your PCBoard
system. <last> is your last name. <password> is the
password you use to log into your PCBoard system. You might
need to edit these batch files to change the location of your
PCBoard subdirectory. These batch files only work with
PCBoard 14.5a.
Simply copy these batch files into the 1stReader BBS
subdirectory for your system and when you later select your
system from 1stReader's menu, you'll go through DOS to
transfer your mail packets instead of calling your system.
Control characters in .LST files and KEYBOARD.$$$
-------------------------------------------------
1stReader lets you use control characters in your picklists
and in KEYBOARD.$$$. If you would like to force a carriage
return you can use "^M" at the end of the entry.
Remember that when you use picklists and KEYBOARD.$$$ from a
keyboard entry field, the carriage return is automatically
supplied by 1stReader. This feature lets you force control
characters while in the internal editor.
$$DIAL.SCR supported
--------------------
This script file can be used to dial a bulletin board system
in place of 1stReader's internal dialer. The idea behind
supporting this script file is to allow users to make long
distance calls using SPRINT, MCI or other long distance
carriers that require additional access codes.
Placing $$DIAL.SCR inside the SCRIPTS subdirectory will force
1stReader to use the script file everytime it calls a system,
regardless if it is long distance or not. We recommend that
you place this file inside the individual BBS system
subdirectory for better control.
Addition bulletin board systems supported
-----------------------------------------
1stReader now has the ability to use different script files
when calling bulletin board systems. This means that if you
are calling a Wildcat! system you can tell 1stReader to use
the Wildcat! scripts. By default, 1stReader always uses the
PCBoard/Qmail Door script files.
Each bulletin board system is assigned a script number.
These numbers are assigned to the BBS when editing the BBS
information screen. The systems currently assigned are:
Script type Description
----------- ----------------------------------
1 PCBoard running Qmail Door
2 PCBoard running MarkMail Door
3 PCBoard running Kmail Door
4 PCBoard running CamMail Door
5 PCBoard running Rosemail Door
20 TBBS/QSO mail system
30 Wildcat!/Tomcat Door
40 The Major BBS
50 Maximus
60 Gap/MainMail
70 RBBS
71 TriBBS
72 GT
For example, files for Wildcat! would be called:
30-MAIL.SCR Upload/Download mail
30-REPLY.SCR Upload mail only
30-CALL.SCR Calls a Wildcat system
48
1stReader also supports the "xx-SETUP" file, where "xx" is
the script type. This file is displayed to the 1stReader
user whenever they change BBS types. It should contain
information about what setup on the remote BBS your script
requires in order to operate successfully.
Sparkware reserves the right to assign 'Script types' values
for consistency. If you have created a script for a bulletin
board system not listed please call our BBS at (615) 230-8822
or our office at (615) 230-MAIL and let us know which number
you wish to be issued. Also, if you wish, please upload your
script file to our BBS so everyone can enjoy using 1stReader
Carriage returns in the modem initialization string
---------------------------------------------------
You can use the character "{" in your modem init strings to
indicate where a carriage return is to be inserted.
SERVICES.NEW
------------
Sysops can include a file named SERVICES.NEW in the QWK mail
packets and 1stReader will display it when the user selects
the 'Services' button. This file is intended to give
1stReader users an introduction to the services provided.
49
File formats
------------
1stReader Dialing Directory format:
TYPE DialDirType
PacketID AS STRING * 8 'Qmail Door ID
SysName AS STRING * 40 'Name of system
Login AS STRING * 25 'User's login name
Password AS STRING * 12 'Password
Phone1 AS STRING * 20 'Phone number 1
MaxBaud1 AS LONG 'Maximum baud rate
Phone2 AS STRING * 20 'Phone number 2
MaxBaud2 AS LONG 'Maximum baud rate
Phone3 AS STRING * 20 'Phone number 3
MaxBaud3 AS LONG 'Maximum baud rate
Phone4 AS STRING * 20 'Phone number 4
MaxBaud4 AS LONG 'Maximum baud rate
LastCall AS STRING * 11 'Last date/time called
Blank AS STRING * 13 'Reserved for future use
QmailCmd AS STRING * 40 'Qmail Door open command
BitFlags AS STRING * 5 'Bitflags
Language AS INTEGER 'Language number to select
Conference AS INTEGER 'Conference number to join
CallNumber AS INTEGER 'Number of calls placed
Packets AS INTEGER 'Number of packets downloaded
Replies AS INTEGER 'Number of replies uploaded
CRC AS LONG 'CRC value of CNAMES.DAT
Graphics AS STRING * 1 'Use graphics on this call? (Y if true)
AliasName AS INTEGER 'Alias entry to use
SysType AS INTEGER 'System type
FIDOTags AS STRING * 1 'Fido-style tags?
Empty AS STRING * 30
END TYPE
1stReader .SET file format:
TYPE CfgType
SetName AS STRING * 40 'Name of setup
Signature AS STRING * 40 'Your signature
BitFlags AS STRING * 10 'Bitflags
Editor AS STRING * 40 'Text editor command
Original AS STRING * 40 'Original filespec
Reply AS STRING * 40 'Reply filespec
NewUser AS STRING * 2 'Communications port
MaxBaudRate AS LONG 'Maximum baud rate of your modem
Init AS STRING * 40 'Modem init string
Prefix AS STRING * 40 'Modem dialing prefix
Suffix AS STRING * 40 'Modem dialing suffix
DTime AS INTEGER 'Dialing time (in seconds)
RTime AS INTEGER 'Redialy delay (in seconds)
Attempts AS INTEGER 'Number of redial attempts
FlowCtrl AS INTEGER 'Flow control
UlCmd AS STRING * 60 'Zmodem upload command
DlCmd AS STRING * 60 'Zmodem download command
Sort AS INTEGER 'Reader sort order
Quote AS STRING * 5 'Quote characters
Tagline AS INTEGER 'Last tagline used
Folder AS STRING * 8 'Last folder name used
ScanFlag AS STRING * 2 'Zippy scan flags
Scan1 AS STRING * 45 'Zippy scan #1
Scan2 AS STRING * 45 'Zippy scan #2
Scan3 AS STRING * 45 'Zippy scan #3
Scan4 AS STRING * 45 'Zippy scan #4
ReFolder AS STRING * 8 'Last REPLY folder
LastPrint AS STRING * 40 'Last print file
PacketDir AS STRING * 44 'Location of mail packets
LastDir AS STRING * 40 'Last file scan from opening menu
Commport AS STRING * 10 'Communications port number
DlDir AS STRING * 44 'Location of file downloads
ClrColors AS STRING * 50 'Color switch colors
MonoColors AS STRING * 50 'Mono switch colors
BDate AS STRING * 8 'Date of last beta news
BTime AS STRING * 8 'Time of last beta news
ProgramDir AS STRING * 44 'Location of system zips
WorkDir AS STRING * 44 'Location of work area
Dealer AS STRING * 8 'ID of the dealer who sold reader
CardNo AS STRING * 40 'Calling card number
RepDir AS STRING * 44 'Location of reply packets
LastSys AS STRING * 8 'PacketID of last system used
LastImport AS STRING * 44 'Last file area imported
ExtList AS STRING * 40 'External LIST command
END TYPE